Businesses implement and rely on a plurality of business process applications and software in their day-to-day activities. Such business process software can run various networks that have a multitude of users connected to it. The users can create, design, run, update and/or otherwise use the networks and/or business process applications residing on such networks. Each user's connection to the network and/or use of the business process applications can be deemed a session. Some applications interact with one another, thereby creating a collaborative environment, where various user sessions communicate and/or exchange messages between one another. The session communications can involve various clients (e.g., applications) and servers that connect such clients.
Conventional solutions for exchange of messages between sessions (with or without user interface access) can be realized via a polling mechanism. However, such a mechanism can have various drawbacks for both clients and servers. For example, when exchanging messages, various data can be communicated between clients and/or servers and although there can exist instances where no data is ready and waiting at the server, the client can poll the server for new data, thereby running into busy-waiting phases, which can extend processing time and delay user's access to resources and applications. On the server side, the unnecessary requests can lead to a waste of server and system resources, e.g., by occupying processes, allocating memory, consumption of CPU time, an increasing the access load to a database, etc.